﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OleDb;

public partial class Admin_Quan_Ly_Danh_Muc : System.Web.UI.Page
{
    DataProvider duLieu = new DataProvider();
    ListBox listBox = new ListBox();

    protected void Page_Load(object sender, System.EventArgs e)
    {
        if (!IsPostBack)
        {
            Load_Danh_Muc();
        }
    }

    public DataTable tao_danh_sach_manhom_edit()
	{
		DataTable bangchude = null;
        bangchude = duLieu.Load_Du_Lieu_Admin_New("select * from nhomhanghoa order by manhomhh DESC", listBox);
		if (bangchude.Rows.Count != 0) {
			return bangchude;
		} else {
            System.Web.HttpContext.Current.Response.Write("Hiện Tại Trang Web Chưa Có Nhóm Hàng Nào");
		}
		return bangchude;
	}

    public void Load_Danh_Muc()
    {
        DataTable bangchude = null;
        bangchude = duLieu.Load_Du_Lieu_Admin_New("select * from nhomhanghoa order by manhomhh DESC", listBox);
        if (bangchude.Rows.Count != 0)
        {
            gvDuLieu.DataSource = bangchude;
            gvDuLieu.DataBind();

            danhsachnhomhh.DataSource = bangchude;
            danhsachnhomhh.DataBind();
        }
        else
        {
            thongbaotrantrung.Text = "<font color='red'>Hiện Tại Trang Web Chưa Có Nhóm Hàng Nào.</font>";
        }

        bangchude = duLieu.Load_Du_Lieu_Admin_New("select * from loaihanghoa order by maloaihh DESC", listBox);
        if (bangchude.Rows.Count != 0)
        {
            bangloaihanghoa.DataSource = bangchude;
            bangloaihanghoa.DataBind();
        }
        else
        {
            thongbaoloaihh.Text = "<font color='red'>Hiện Tại Trang Web Chưa Có Loại Hàng Nào.</font>";
        }

    }
    protected void gvDuLieu_PageIndexChanging(object sender, System.Web.UI.WebControls.GridViewPageEventArgs e)
    {
        gvDuLieu.PageIndex = e.NewPageIndex;
        Load_Danh_Muc();
    }

    protected void bangloaihanghoa_PageIndexChanging(object sender, System.Web.UI.WebControls.GridViewPageEventArgs e)
    {
        bangloaihanghoa.PageIndex = e.NewPageIndex;
        Load_Danh_Muc();
    }

    protected void gvDuLieu_RowCancelingEdit(object sender, System.Web.UI.WebControls.GridViewCancelEditEventArgs e)
    {
        gvDuLieu.EditIndex = -1;
        Load_Danh_Muc();
    }

    protected void bangloaihanghoa_RowCancelingEdit(object sender, System.Web.UI.WebControls.GridViewCancelEditEventArgs e)
    {
        bangloaihanghoa.EditIndex = -1;
        Load_Danh_Muc();
    }


    protected void gvDuLieu_RowDeleting(object sender, System.Web.UI.WebControls.GridViewDeleteEventArgs e)
    {
        listBox.Items.Clear();
        duLieu.MakeDuLieu(listBox, gvDuLieu.Rows[e.RowIndex].Cells[0].Text);

        DataTable kiemtrasudungnhom = duLieu.Load_Du_Lieu_Admin_New("select * from loaihanghoa where manhomhh=?", listBox);
        if (kiemtrasudungnhom.Rows.Count != 0)
        {
            thongbaotrantrung.Text = "<font color='red'>Xóa Không Thành Công.</font><br/><br/><font color='blue'>Bởi vì có 1 số LOẠI HÀNG HÓA Thuộc NHÓM HÀNG HÓA này.<br/><br/>Bạn hãy kiểm Tra bảng LOẠI HÀNG HÓA Trước nhé.</font><hr/>";
            return;
        }

        listBox.Items.Clear();
        duLieu.MakeDuLieu(listBox, gvDuLieu.Rows[e.RowIndex].Cells[0].Text);

        if (duLieu.Luu_Du_Lieu_Admin_New("delete from nhomhanghoa where manhomhh=?", listBox) == 0)
        {
            thongbaotrantrung.Text = "<font color='red'>Xóa Không Thành Công.</font><hr/>";
            return;
        }

        Response.Redirect("Quan_Ly_Danh_Muc.aspx");
    }


    protected void bangloaihanghoa_RowDeleting(object sender, System.Web.UI.WebControls.GridViewDeleteEventArgs e)
    {
        listBox.Items.Clear();
        duLieu.MakeDuLieu(listBox, bangloaihanghoa.Rows[e.RowIndex].Cells[0].Text);

        DataTable kiemtrasudungloai = duLieu.Load_Du_Lieu_Admin_New("select * from hanghoa where maloaihh=?", listBox);
        if (kiemtrasudungloai.Rows.Count != 0)
        {
            thongbaoloaihh.Text = "<font color='red'>Xóa Không Thành Công.</font><br/><br/><font color='blue'>Bởi vì có 1 số HÀNG HÓA Thuộc LOẠI HÀNG HÓA này.<br/><br/>Bạn hãy kiểm Tra bảng HÀNG HÓA Trước nhé.</font><hr/>";
            return;
        }

        listBox.Items.Clear();
        duLieu.MakeDuLieu(listBox, bangloaihanghoa.Rows[e.RowIndex].Cells[0].Text);

        if (duLieu.Luu_Du_Lieu_Admin_New("delete from loaihanghoa where maloaihh=?", listBox) == 0)
        {
            thongbaoloaihh.Text = "<font color='red'>Xóa Không Thành Công.</font><hr/>";
            return;
        }

        Response.Redirect("Quan_Ly_Danh_Muc.aspx");
    }

    protected void gvDuLieu_RowEditing(object sender, System.Web.UI.WebControls.GridViewEditEventArgs e)
    {
        gvDuLieu.EditIndex = e.NewEditIndex;
        Load_Danh_Muc();
    }

    protected void bangloaihanghoa_RowEditing(object sender, System.Web.UI.WebControls.GridViewEditEventArgs e)
    {
        bangloaihanghoa.EditIndex = e.NewEditIndex;
        Load_Danh_Muc();
    }

    protected void gvDuLieu_RowUpdating(object sender, System.Web.UI.WebControls.GridViewUpdateEventArgs e)
	{
        string tenchude = ((TextBox)gvDuLieu.Rows[e.RowIndex].Cells[1].Controls[0]).Text;

		if (!string.IsNullOrEmpty(tenchude)) {
            listBox.Items.Clear();
            duLieu.MakeDuLieu(listBox, tenchude);
            duLieu.MakeDuLieu(listBox, gvDuLieu.Rows[e.RowIndex].Cells[0].Text);

            duLieu.Luu_Du_Lieu_Admin_New("update nhomhanghoa set tennhomhh=? where manhomhh=?", listBox);
            gvDuLieu.EditIndex = -1;
			Load_Danh_Muc();
		} else {
             System.Web.HttpContext.Current.Response.Write("Bạn Chưa Nhập Đầy Đủ Dữ Liệu");
		}
	}

    protected void bangloaihanghoa_RowUpdating(object sender, System.Web.UI.WebControls.GridViewUpdateEventArgs e)
	{
		string manhomhh = ((DropDownList)bangloaihanghoa.Rows[e.RowIndex].Cells[1].FindControl("manhomhh2")).SelectedValue;
		string tenchude = ((TextBox)bangloaihanghoa.Rows[e.RowIndex].Cells[2].Controls[0]).Text;


		if (!string.IsNullOrEmpty(tenchude)) {
            listBox.Items.Clear();
            duLieu.MakeDuLieu(listBox, manhomhh);
            duLieu.MakeDuLieu(listBox, tenchude);
            duLieu.MakeDuLieu(listBox, bangloaihanghoa.Rows[e.RowIndex].Cells[0].Text);

            duLieu.Luu_Du_Lieu_Admin_New("update loaihanghoa set manhomhh=?,tenloaihh=? where maloaihh=?", listBox);
			bangloaihanghoa.EditIndex = -1;
			Load_Danh_Muc();
		} else {
             System.Web.HttpContext.Current.Response.Write("Bạn Chưa Nhập Đầy Đủ Dữ Liệu");
		}
	}

    protected void luudanhmuc_Click(object sender, System.EventArgs e)
	{
		string tendanhmuc1 = tendanhmuc.Text;

		if (!string.IsNullOrEmpty(tendanhmuc1)) {
            listBox.Items.Clear();
            duLieu.MakeDuLieu(listBox, tendanhmuc1);

            duLieu.Luu_Du_Lieu_Admin_New("insert into nhomhanghoa(tennhomhh) values(?)", listBox);
			Response.Redirect("Quan_Ly_Danh_Muc.aspx#bangnhomhh");
		} else {
            System.Web.HttpContext.Current.Response.Write("Bạn Chưa Nhập Đầy Đủ Dữ Liệu");
		}
	}

    protected void gvDuLieu_Sorting(object sender, GridViewSortEventArgs e)
    {
        string LenhSql = "select * from nhomhanghoa";

        if (!string.IsNullOrEmpty(e.SortExpression))
        {
            LenhSql = LenhSql + " Order by " + e.SortExpression;
        }

        gvDuLieu.DataSource = duLieu.Load_Du_Lieu_Admin_New(LenhSql, listBox);
        gvDuLieu.DataBind();
    }

    protected void bangloaihanghoa_Sorting(object sender, System.Web.UI.WebControls.GridViewSortEventArgs e)
    {
        string LenhSql = "select * from loaihanghoa";

        if (!string.IsNullOrEmpty(e.SortExpression))
        {
            LenhSql = LenhSql + " Order by " + e.SortExpression;
        }

        bangloaihanghoa.DataSource = duLieu.Load_Du_Lieu_Admin_New(LenhSql, listBox);
        bangloaihanghoa.DataBind();
    }

    protected void themloaihh_Click(object sender, System.EventArgs e)
	{
		string tendanhmuc1 = tenloaihh.Text;

		if (!string.IsNullOrEmpty(tendanhmuc1) & int.Parse(danhsachnhomhh.SelectedValue) != 0) {
            listBox.Items.Clear();
            duLieu.MakeDuLieu(listBox, danhsachnhomhh.SelectedValue);
            duLieu.MakeDuLieu(listBox, tendanhmuc1);

            duLieu.Luu_Du_Lieu_Admin_New("insert into loaihanghoa(manhomhh,tenloaihh) values(?,?)", listBox);
			Response.Redirect("Quan_Ly_Danh_Muc.aspx#bangloaihh");
		} else {
            System.Web.HttpContext.Current.Response.Write("Bạn Chưa Nhập Đầy Đủ Dữ Liệu");
		}
	}
}